package com.itlong.cloud.operate.service;

import com.itlong.cloud.POJO.DTO.operate.OperateParkingLotManageInfoDTO;
import com.itlong.cloud.POJO.DTO.operate.OperateParkingLotManagePageDTO;
import com.itlong.cloud.POJO.VO.operate.OperateParkingLotManageInfoVO;
import com.itlong.cloud.utils.page.Page;

/**
 * <desc>
 *      运营-项目-人脸应用服务接口。
 * <desc/>
 *
 * @createDate 2018-05-03.
 */
public interface IOperateParkingLotManageService {

    /**
     * <desc>
     *      停车场信息分页查询
     * <desc/>
     *
     * @param  operateParkingLotManagePageDTO 分页查询参数
     * @return
     * @author Qiang.S
     * @createDate 2018-11-05
     */
    Page<OperateParkingLotManageInfoVO> getParkingLotPage(OperateParkingLotManagePageDTO operateParkingLotManagePageDTO) throws Exception;

    /**
     * <desc>
     *      新增停车场
     * <desc/>
     *
     * @param operateParkingLotManageInfoDTO 停车场信息
     * @return
     * @author Qiang.S
     * @createDate 2018-11-05
     */
    Integer save(OperateParkingLotManageInfoDTO operateParkingLotManageInfoDTO) throws Exception;

    /**
     * <desc>
     *      更新停车场
     * <desc/>
     *
     * @param operateParkingLotManageInfoDTO 停车场信息
     * @return
     * @author Qiang.S
     * @createDate 2018-11-05
     */
    Integer update(OperateParkingLotManageInfoDTO operateParkingLotManageInfoDTO) throws Exception;

    /**
     * <desc>
     *      判断停车场是否被使用
     * <desc/>
     *
     * @param parkId 停车场编号
     * @return
     * @author Qiang.S
     * @createDate 2018-11-05
     */
    Integer checkParkingLot(String parkId) throws Exception;

    /**
     * <desc>
     *      判断该项目是否已有停车场
     * <desc/>
     *
     * @param projectId 项目编号
     * @return
     * @author Qiang.S
     * @createDate 2018-11-05
     */
    Integer checkParkingRepeat(String projectId) throws Exception;

    /**
     * <desc>
     *      删除停车场
     * <desc/>
     *
     * @param parkId 停车场编号
     * @return
     * @author Qiang.S
     * @createDate 2018-11-05
     */
    Integer delete(String parkId) throws Exception;

    /**
     * <desc>
     *      根据停车场编号获取停车场信息
     * <desc/>
     *
     * @param parkId 停车场编号
     * @return
     * @author Qiang.S
     * @createDate 2018-11-05
     */
    OperateParkingLotManageInfoVO getDetail(String parkId) throws Exception;


}
